﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PPI.ServiceLogic.Distribution;
using PPI.ServiceLogic.Inspections;
using PPI.ServiceLogic.Utilty;
using LCompany=PPI.ServiceLogic.Inspections.LCompany;
using LInspectionType=PPI.ServiceLogic.Inspections.LInspectionType;
using LInspector=PPI.ServiceLogic.Inspections.LInspector;
using LMap=PPI.ServiceLogic.Inspections.LMap;
using LNote=PPI.ServiceLogic.Inspections.LNote;

namespace PPI.ServiceLogic.Mobile
{
    /// <summary>
    /// Class that is derived from LFillMobileTablesBase that allows us to execute queries in the PROJECT referenced tables
    /// </summary>
    public class LFillMobileTableProject : LFillMobileTablesBase
    {
        public LFillMobileTableProject(string connectionKey, string mobileConnectionString)
            : base(connectionKey, mobileConnectionString)
        {

            m_ListTables.Add(new LVendor());
            m_ListTables.Add(new LVendor_Project());
            m_ListTables.Add(new LVendor_Contacts());

            m_ListTables.Add(new LUtility());

            m_ListTables.Add(new LInspector());
            m_ListTables.Add(new LCompany());
            m_ListTables.Add(new LMap());
            m_ListTables.Add(new LInspectionLength());
            m_ListTables.Add(new LNote());
            m_ListTables.Add(new LInspectionResultType());
            m_ListTables.Add(new LInspectionType());
            m_ListTables.Add(new LUtility_Asset_XMissionStructure());

            m_ListTables.Add(new LVendor_Visit_XMissionStructure());
            m_ListTables.Add(new LInspectionStructure());
            m_ListTables.Add(new LInspectionResult());

            //Distribution Tables
            m_ListTables.Add(new Distribution.LMap());
            m_ListTables.Add(new LPhase());
            m_ListTables.Add(new LTop());
            m_ListTables.Add(new Distribution.LNote());
            m_ListTables.Add(new LDistributionResultType());
            m_ListTables.Add(new Distribution.LInspectionType());
            m_ListTables.Add(new Distribution.LXMissionStructures_PoleSpecies());
            m_ListTables.Add(new Distribution.LXMissionStructures_PoleClass());
            m_ListTables.Add(new LLength());
            m_ListTables.Add(new Distribution.LXMissionStructures_PoleTreatments());
            m_ListTables.Add(new LMeterNote());
            m_ListTables.Add(new LPole());
        }
    }
}
